package com.iwhalecloud.bss.kite.cucc.service.attr.handler;

import com.iwhalecloud.bss.kite.common.util.KiteListUtils;
import com.iwhalecloud.bss.kite.common.util.KiteStringUtils;
import com.iwhalecloud.bss.kite.cucc.common.constant.LocalKeyConsts;
import com.iwhalecloud.bss.kite.manager.inst.KiteAttr;
import com.iwhalecloud.bss.kite.manager.inst.KiteInst;
import com.iwhalecloud.bss.kite.service.attr.AttrData;
import com.iwhalecloud.bss.kite.service.attr.handler.AbstractAttrHandler;

/**
 * 使用渠道
 */
public class UseChannelWayAttrHandler extends AbstractAttrHandler<KiteInst, AttrData> {
    @Override
    public void set(KiteAttr attr, KiteInst inst, String value, AttrData data) {
        super.set(attr, inst, value, data);
        //业务类型
        KiteAttr ywlxAttr = inst.getAttr("200000157");
        String ywlxValue = "";
        if(KiteListUtils.isNotEmpty(ywlxAttr.getAttrValues())){
            ywlxValue = ywlxAttr.getAttrValues().get(0).getAttrValue();
        }
        if(KiteStringUtils.isNotBlank(inst.getSpecId())&& KiteStringUtils.equals(inst.getSpecId(),"10003958")) {//智慧信息
            ywlxAttr.getAttrValues().get(0).getAttrValue();
            //基础版-普通短信价格（元/条）
            KiteAttr pudxAttr = inst.getAttr("210005150");
            //基础版-数字短信价格（元/条）OptionalAdditionalProductModuleHandler
            KiteAttr szdxAttr = inst.getAttr("210005151");
            //专业版-普通短信价格（元/条）
            KiteAttr zybpudxAttr = inst.getAttr("210005140");
            //专业版-数字短信价格（元/条）
            KiteAttr zybszdxAttr = inst.getAttr("210005141");
            if (KiteStringUtils.isNotBlank(ywlxValue) && KiteStringUtils.equals(ywlxValue, "100000198")) {//基础版
                if (attr.getValue().contains("100000745") && !attr.getValue().contains("100000754")) {
                    //使用渠道选中普通短信,关联展示基础版-普通短信价格（元/条）
                    pudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    pudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    szdxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    szdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && !attr.getValue().contains("100000745")) {
                    //使用渠道选中数字短信,关联展示基础版-数字短信价格（元/条）
                    szdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    szdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    pudxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    pudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && attr.getValue().contains("100000745")) {
                    //使用渠道选中普通短信+数字短信,关联展示基础版-普通短信价格（元/条）+基础版-数字短信价格（元/条）
                    pudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    pudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    szdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    szdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                }
            } else if (KiteStringUtils.isNotBlank(ywlxValue) && KiteStringUtils.equals(ywlxValue, "100002943")) {//专业版
                if (attr.getValue().contains("100000745") && !attr.getValue().contains("100000754")) {
                    //使用渠道选中普通短信,专业版-普通短信价格（元/条）
                    zybpudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    zybpudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    zybszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    zybszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && !attr.getValue().contains("100000745")) {
                    //使用渠道选中数字短信,关联展示基础版-数字短信价格（元/条）
                    zybszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    zybszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    zybpudxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    zybpudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && attr.getValue().contains("100000745")) {
                    //使用渠道选中普通短信+数字短信,关联展示基础版-普通短信价格（元/条）+基础版-数字短信价格（元/条）
                    zybpudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    zybpudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    zybszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    zybszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                }
            }
        }else if(KiteStringUtils.isNotBlank(inst.getSpecId())&& KiteStringUtils.equals(inst.getSpecId(),"10003959")){//三网信息
            //三网SAAS-普通短信价格（元/条）
            KiteAttr saaspudxAttr = inst.getAttr("210005154");
            //三网SAAS-数字短信价格（元/条）
            KiteAttr saasszdxAttr = inst.getAttr("210005153");
            //三网API-普通短信价格（元/条）
            KiteAttr apipudxAttr = inst.getAttr("210005138");
            //三网API-数字短信（元/条）
            KiteAttr apiszdxAttr = inst.getAttr("210005139");
            if (KiteStringUtils.isNotBlank(ywlxValue) && KiteStringUtils.equals(ywlxValue, "100000752")) {//三网SAAS
                if (attr.getValue().contains("100000745") && !attr.getValue().contains("100000754")) {
                    //使用渠道选中普通短信,关联展示三网SAAS-普通短信价格（元/条）
                    saaspudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    saaspudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    saasszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    saasszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && !attr.getValue().contains("100000745")) {
                    //使用渠道选中数字短信,关联展示基础版-数字短信价格（元/条）
                    saasszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    saasszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    saaspudxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    saaspudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && attr.getValue().contains("100000745")) {
                    //使用渠道选中普通短信+数字短信,关联展示基础版-普通短信价格（元/条）+基础版-数字短信价格（元/条）
                    saaspudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    saaspudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    saasszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    saasszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                }
            } else if (KiteStringUtils.isNotBlank(ywlxValue) && KiteStringUtils.equals(ywlxValue, "100000751")) {//三网API
                if (attr.getValue().contains("100000745") && !attr.getValue().contains("100000754")) {
                    //使用渠道选中普通短信,专业版-普通短信价格（元/条）
                    apipudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    apipudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    apiszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    apiszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && !attr.getValue().contains("100000745")) {
                    //使用渠道选中数字短信,关联展示基础版-数字短信价格（元/条）
                    apiszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    apiszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    apipudxAttr.setIsNull(LocalKeyConsts.IFTRUE_T);
                    apipudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_E);
                } else if (attr.getValue().contains("100000754") && attr.getValue().contains("100000745")) {
                    //使用渠道选中普通短信+数字短信,关联展示基础版-普通短信价格（元/条）+基础版-数字短信价格（元/条）
                    apipudxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    apipudxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                    apiszdxAttr.setIsNull(LocalKeyConsts.IFTRUE_F);
                    apiszdxAttr.setShowType(LocalKeyConsts.PROD_ATTR_SHOW_TYPE_D);
                }
            }
        }
    }
}
